package demo05;

import java.io.File;
import java.io.FileNotFoundException;

/*
 *  文件检索：
 *  使用Lambda优化Demo02FileFilter的代码
 */
public class Demo03Lambda {
    public static void main(String[] args) {
        findJavaFile(new File("file"));
    }

    private static void findJavaFile(File file) {
        if (file.exists()) {
            for (File fileName : file.listFiles( // 使用Lambda简化代码
                    pathname -> pathname.isDirectory() || pathname.getPath().toLowerCase().endsWith(".java"))) {
                if (fileName.isDirectory()) {
                    findJavaFile(fileName);
                } else {
                    System.out.println(fileName.getAbsolutePath());
                }
            }
        } else {
            try {
                throw new FileNotFoundException("非真实文件！");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
}
